package moe.oil.exception;


public enum ErrorType {
    // 无效的参数
    INVALID,
    // 类型不匹配
    TYPE_MISMATCH,
    // 参数缺失
    PARAM_MISSING,
    // 不能为空
    MUST_BE_NOT_NULL,
    // 不能为空白
    MUST_BE_NOT_BLANK,
    // 长度不合法
    WRONG_LENGTH,
    // 登录失败
    USER_LOGIN_ERROR,
    ;

    public String value() {
        return this.toString().toLowerCase();
    }

    public static ErrorType parse(String code) {
        switch (code) {
            case "INVALID":
                return INVALID;
            case "NotNull":
                return MUST_BE_NOT_NULL;
            case "NotBlank":
                return MUST_BE_NOT_BLANK;
            case "Length":
                return WRONG_LENGTH;
            case "TypeMismatch":
                return TYPE_MISMATCH;
            default:
                return null;
        }
    }
}
